package com.ocean.admin.model.dto.rule;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 角色保存DTO
 *
 * @author zhang
 * @since 2022/8/23
 */
@Data
public class SysRoleSaveDTO {

    /**
     * 角色名称
     */
    @NotBlank(message = "请输入角色名称")
    @Schema(description = "角色名称", required = true)
    private String roleName;

    /**
     * 所属机构ID
     */
    @Schema(description = "所属机构ID")
    private Long orgId;

    /**
     * 角色权限字符串
     */
    @NotBlank(message = "请输入角色权限字符")
    @Schema(description = "角色权限字符串", required = true)
    private String roleKey;

    /**
     * 显示顺序
     */
    @Schema(description = "显示顺序")
    private Integer roleSort;

    /**
     * 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
     */
    @Schema(description = "据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）")
    private Integer dataScope;

    /**
     * 角色状态（0正常 1停用）
     */
    @NotNull(message = "请输入角色状态")
    @Schema(description = "角色状态（0正常 1停用）", required = true)
    private Integer status;

    /**
     * 菜单组
     */
    @Schema(description = "菜单组")
    private Long[] menuIds;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
}
